home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Environments / SmallEiffel 0.3.3 / SmallEiffel 68k / lib_test / test_manifest_array.e < prev    next >
Encoding:
Text File  |  1996-06-13  |  2.3 KB  |  100 lines  |  [TEXT/EDIT]

  1. -- Part of SmallEiffel -- Read DISCLAIMER file -- Copyright (C) 
  2. -- Dominique COLNET and Suzanne COLLIN -- colnet@loria.fr
  3. --
  4. class TEST_MANIFEST_ARRAY
  5.  
  6. creation {ANY}
  7.    make
  8.    
  9. feature {ANY}
  10.  
  11.    array_boolean: ARRAY[BOOLEAN];
  12.    array_integer: ARRAY[INTEGER];
  13.    array_animal: ARRAY[ANIMAL];
  14.    array_quadruped: ARRAY[QUADRUPED];
  15.    array_real: ARRAY[REAL];
  16.    array_double: ARRAY[DOUBLE];
  17.    array_any: ARRAY[ANY];
  18.    array_character: ARRAY[CHARACTER];
  19.    
  20.    make is
  21.       local
  22.      cat: CAT;
  23.      dog: DOG;
  24.       do
  25.      array_integer := <<1,2,3>>;
  26.      is_true(array_integer.fast_index_of(2) = 2);
  27.      array_boolean := <<true, false>>;
  28.      is_true(1 = array_boolean.index_of(true));
  29.      is_true(1 = array_boolean.fast_index_of(true));
  30.      is_true(2 = array_boolean.index_of(false));
  31.      is_true(2 = array_boolean.fast_index_of(false));
  32.       
  33.      is_true(equal(<<1,2,3>>,<<1,2,3>>));
  34.      
  35.      is_true(equal(<<'a','b','c'>>,<<'a','b','c'>>));
  36.      
  37.      array_character := <<'a','b','c'>>;
  38.      is_true(array_character.item(1) = 'a');
  39.      
  40.      !!array_character.make(1,1);
  41.      array_character.put('z',1);
  42.      is_true(array_character.item(1) = 'z');
  43.      
  44.      
  45.      is_true(equal(<<1.5,2.5,3.>>,<<1.5,2.5,3.>>));
  46.      
  47.      array_integer := <<1>>;
  48.      array_real := <<1.>>;
  49.      is_true(array_real.first = array_integer.last);
  50.       
  51.      !!cat;
  52.      array_any := <<cat,cat>>;
  53.      array_animal := <<cat,cat>>;
  54.      is_true(equal(array_any,array_animal));
  55.      
  56.      array_any.put(Void,1);
  57.      array_animal.put(Void,1);
  58.      is_true(equal(array_any,array_animal));
  59.      array_animal.put(cat,1);
  60.      is_true(not equal(array_any,array_animal));
  61.      
  62.      !!dog;
  63.      array_any.put(dog,1);
  64.      array_animal.put(dog,1);
  65.      is_true(equal(array_any,array_animal));
  66.      
  67.      !!cat;
  68.      !!dog;
  69.      array_any := <<cat,dog>>;
  70.      array_animal := <<cat,dog>>;
  71.      is_true(equal(array_any,array_animal));
  72.      
  73.      array_quadruped := <<cat,dog>>;
  74.      is_true(equal(array_animal,array_quadruped));
  75.      is_true(equal(array_any,array_quadruped));
  76.      
  77.      array_double := <<d1,d2,d3>>;
  78.      is_true(equal(array_double,<<d1,d2,d3>>));
  79.       end;
  80.    
  81.    d1: DOUBLE is 1.5;
  82.    d2: DOUBLE is 1.7;
  83.    d3: DOUBLE is 1.8;
  84.    
  85.    is_true(b: BOOLEAN) is
  86.       do
  87.      cpt := cpt + 1;
  88.      if not b then
  89.         std_output.put_string("TEST_MANIFEST_ARRAY: ERROR Test # ");
  90.         std_output.put_integer(cpt);
  91.         std_output.put_string("%N");
  92.      else
  93. --        std_output.put_string("Yes%N");
  94.      end;
  95.       end;
  96.    
  97.    cpt: INTEGER;
  98.    
  99. end -- TEST_MANIFEST_ARRAY
  100.